window.workspace = function(){
	var response  = <?#$respons?>;
	var store, grid, win, form, sm;
	function addForm(rows){
		if(!win) {
		    form = new Ext.form.FormPanel({
				frame		: true,
				border		: false,
				bodyStyle	: 'padding:8px;',
		        labelWidth	: 100,
		        fileUpload  : true,
		        labelAlign  : 'right',
		    	defaults	: {
		    		xtype	  : 'textfield'
		    	},
		    	items		: [{
					xtype		: 'hidden',
					name		: 'id',
					value		: 0
				},{
					xtype		: 'textfield',
					fieldLabel	: '[名称]Title',
					width		: 300,
					allowBlank	: false,
					name		: 'title',
					maxLength   : 255
				},{
					xtype		: 'textarea',
					fieldLabel	: '[介绍]Desc',
					width		: 300,
					height      : 60,
					name		: 'msg',
					emptyText   : '任务的介绍信息...',
					maxLength   : 255,
					allowBlank	: false
				},{
					xtype		: 'textfield',
					inputType 	: 'file', 
			 		fieldLabel	: '图标[Icon]',
					name		: 'Filedata'
				},{
					xtype		: 'numberfield',
					fieldLabel	: '[排序]Rank',
					width		: 300,
					name		: 'rank',
					value		: 0,
					allowBlank	: false
				},{
					xtype		: 'textfield',
					fieldLabel	: '[按钮跳转]',
					width		: 300,
					name		: 'jump',
					maxLength   : 255
				},{
		    		xtype		: 'combo',
		            store		: new Ext.data.ArrayStore({
			        	fields: ['id','name'],
			        	data: main.cv2Array(response.type)
			    	}),
					displayField	: 'name',
					valueField		: 'id',
					mode			: 'local',
					emptyText		: 'plz selected',
		            fieldLabel		: '[类型]Type',
		            width			: 160,
		            allowBlank		: false,
					triggerAction	: 'all',
					hiddenName		: 'type',
		            name			: 'type'
		        },{
		    		xtype		: 'combo',
		            store		: new Ext.data.ArrayStore({
			        	fields: ['id','name'],
			        	data: main.cv2Array(response.status)
			    	}),
					displayField	: 'name',
					valueField		: 'id',
					mode			: 'local',
					emptyText		: 'plz selected',
		            fieldLabel		: '[状态]Status',
		            width			: 160,
		            allowBlank		: false,
					triggerAction	: 'all',
					hiddenName		: 'status',
		            name			: 'status'
		        },{
					xtype		: 'numberfield',
					fieldLabel	: '[奖励经验值]Exp',
					width		: 120,
					name		: 'exp',
					allowBlank	: false
				},{
					xtype		: 'numberfield',
					fieldLabel	: '[奖励代币]Coin',
					width		: 120,
					name		: 'coin',
					allowBlank	: false
				},{
					xtype		: 'numberfield',
					fieldLabel	: '[徽章]Badge',
					width		: 120,
					name		: 'badgeid',
					value		: 0
				},{
					xtype		: 'textarea',
					fieldLabel	: '[礼包礼物]Gift',
					width		: 300,
					height      : 60,
					name		: 'giftids',
					emptyText   : '礼包设置数据格式:[礼物id-数量,礼物id-数量]；礼物id和数量使用"-"拼接，多个礼物使用","逗号拼接.',
					maxLength   : 255
				}]
			});
			win = new Ext.Window({
				title	: '添加[Add]',
				iconCls	: 'icon-add',	
				width	: 480,
				items	: [form],
				closeAction : 'hide',
				bbar 	: {
					xtype		: 'toolbar',
					buttonAlign	: 'right',
					items		: [{
						text	: '保存[Save]', 
						url		: '/admin/live/activity/mission/dosave',
						iconCls	: 'icon-save',
						handler	: function(){
						if(!form.getForm().isValid())
		        			return;
		        		form.getForm().submit({
			        		waitMsg 	: 'data submit processing...',
							waitTitle 	: 'Tips',
			        		clientValidation: true,
			        		url		: '/admin/live/activity/mission/dosave',
				        	success	: function(form, action) {
				        		store.reload();
				        		win.hide();
							},
							failure	: main.submitFailure
				    	});
					}}]
				}
			});
		}
		var id = Ext.isObject(rows)? rows.id:0;
		win.setTitle((id > 0)? '编辑[Edit]':'添加[Add]');
		win.setIconClass((id > 0)? 'icon-edit':'icon-add');
		win.show();
		if(id < 1) {
			form.getForm().reset();
		} else {
			form.getForm().loadRecord(rows);
		}
	};
	store = new Ext.data.JsonStore({
	    autoDestroy	: true,
	    url			: '/admin/live/activity/mission/dolist.html',
	    remoteSort	: true,
	    sortInfo	: {
            field		: 'id',
            direction	: 'DESC'
		},
		baseParams	: {
			start	: 0,
			limit	: main.pageSize
		},
		autoLoad		: true,
	    root			: 'dataset',
	 	totalProperty	: 'total',
	    fields			: ['id', 'icon', 'title', 'msg', 'type', 'jump', 'gifts',
	          'badgeid', 'badge', 'exp', 'coin', 'giftids', 'rank', 'status', 'stime']
	});
	sm   = new Ext.grid.CheckboxSelectionModel();
 	grid = {
		xtype		: 'grid',
		title		: response.title,
	    store		: store,
		region		: 'center', 
	    columns		: [
			sm,
			{header: '[编号]ID', width:60, sortable:true, dataIndex:'id'},
			{header: '[名称]Title', width:120, dataIndex:'title'},
			{header: '[介绍]Desc', width:240, dataIndex:'msg'},
			{header: '[类型]Type', width:60, dataIndex:'type', renderer:function(v){
				return response.type[v];
			}},
			{header: '[图标]Icon', width:60, dataIndex:'icon', renderer:function(v){
				return (!v)? '':'<img src="'+Ext.STATIC_URL+v+'" width="20" height="20" />';
			}},
			{header: '[徽章]Icon', width:60, dataIndex:'badge', renderer:function(v,meta,obj){
				if(!!v) {
					return '<img src="'+Ext.STATIC_URL+v+'" width="20" height="20" />';
				}
				return '';
			}},
			{header: '[WEB跳转]', width:80, dataIndex:'jump'},
			{header: '[经验奖励]Exp', width:60, dataIndex:'exp'},
			{header: '[代币奖励]Coin', width:60, dataIndex:'coin'},
			{header: '[奖励礼物]Gift', width:80,  dataIndex:'giftids', renderer:function(v,meta,obj){
				return obj.get('gifts');
			}},
			{header: '[排序]', width:60, dataIndex:'rank'},
			{header: '[任务状态]Status', width:60, dataIndex:'status', renderer:function(v){
				return response.status[v];
			}},
			{header: '[更新时间]Stime',width:80,dataIndex:'stime'}
		],
	    viewConfig	: {
	        forceFit	 : true,
	        scrollOffset : 0
	    },
		listeners	: {
			'destroy':function(){
    			win && win.close();
    		},'rowdblclick':function(grid, index, e){
		    	var data = grid.store.getAt(index).copy();
		    	addForm(data);
		    }
		},	
	    sm			: sm,
	    stripeRows	: true,
	    tbar		: [{
			text	: '刷新',
			iconCls	: 'icon-refresh',
			handler : function(){
				store.reload(); 
			}
	    },'-',{
			text	: '添加[Add]',
			iconCls	: 'icon-add',
			url		: '/admin/live/activity/mission/dosave',
			handler : function() {
				addForm(0);
			}
		}],
		bbar		: new Ext.PagingToolbar({
			pageSize	: main.pageSize,
			store		: store,
			displayInfo	: true
		})
	};
	return grid;
}();